home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / musictex / older-versions / musictex.506 / SLURGEN.MF < prev    next >
Text File  |  1992-07-13  |  4KB  |  125 lines

  1. % Change of length into longueur for new modes.mf (Nicolas Brouard 4/11/91)
  2.  
  3. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  4. %                                                           %
  5. %                      BOGEN                                %
  6. %                                                           %
  7. %      (Phrasierungsbogen und Bogen der Steigung 0)         %
  8. %                                                           %
  9. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  10.  
  11. def drawslurs (expr st, hflag, istart) =
  12.     save i, factor, longueur, height, depth;
  13.     numeric i,  absp, longueur, height, depth, factor, bnummer, quotum, quotum#;
  14.     factor:= 1/6;
  15.     if hflag = 0 : bnummer:=31; quotum#:=0.5*nhw#; quotum:=0.5*nhw;
  16.     else         : bnummer:=15; quotum#:=nhw#; quotum:=nhw;
  17.     fi;
  18.     for i=0 upto bnummer: fulllength:=(i+1)*quotum#;
  19.           if hflag = 0 : longueur:= fulllength; 
  20.             else : longueur:= fulllength/2;
  21.             fi;
  22.  
  23.           depth := 0 ;
  24.  
  25.           ww:= (i+1)*quotum;
  26.           hh:=0;
  27.           dd:=0;
  28.           absp := abs((-hh,ww));
  29.           if (factor*absp)>2nhh : factor:= 2nhh/absp fi;
  30.           height := factor*fulllength;
  31.  
  32.           beginchar(istart+i, longueur, height, depth);
  33.             clear;
  34.             z2l = (ww,hh);
  35.             z1l = origin;
  36.             z3r = (ww/2,h);
  37.             penpos1(thinwidth,90);
  38.             penpos2(thinwidth,90);
  39.             penpos3(5/12beamht,90);
  40.  %          currentpen := pencircle xscaled thinwidth yscaled beamht ;
  41.             pickup  pencircle scaled (1/16mm + blacker);
  42.             if hflag=0 : penstroke z1e..{right}z3e{right}..z2e; fi; 
  43.             if hflag<0 : penstroke z1e..{right}z3e; fi; 
  44.             if hflag>0 : 
  45.               penstroke (z3e{right}..z2e) shifted (-ww/2,0); fi; 
  46.           endchar;
  47.     endfor;
  48. enddef;
  49.  
  50. def drawslursneg (expr st, hflag, istart) =
  51.     save i, factor, longueur, height, depth;
  52.     numeric i,  absp, longueur, height, depth, factor, bnummer, quotum, quotum#;
  53.     factor:= 1/6;
  54.     if hflag = 0 : bnummer:=31; quotum#:=0.5*nhw#; quotum:=0.5*nhw;
  55.     else         : bnummer:=15; quotum#:=nhw#; quotum:=nhw;
  56.     fi;
  57.     for i=0 upto bnummer: fulllength:=(i+1)*quotum#;
  58.          if hflag = 0 : longueur :=  fulllength;
  59.            else : longueur:=  fulllength/2; 
  60.            fi;
  61.          height := 0 ;
  62.  
  63.          ww:= (i+1)*quotum;
  64.          hh:=0;
  65.          dd:=0;
  66.          absp := abs((dd,ww));
  67.          if (factor*absp)>2nhh : factor:= 2nhh/absp fi;
  68.          depth:=fulllength*factor; 
  69.  
  70.         beginchar(istart+i, longueur, height, depth);
  71.            clear;
  72.            z2r = (ww,-dd);
  73.            z1r = origin;
  74.            z3l = (ww/2,-d);
  75.            penpos1(thinwidth,90);
  76.            penpos2(thinwidth,90);
  77.            penpos3(5/12beamht,90);
  78. %          currentpen := pencircle xscaled thinwidth yscaled beamht ;
  79.             pickup  pencircle scaled (1/16mm + blacker);
  80.             if hflag=0 : penstroke z1e..{right}z3e{right}..z2e; fi; 
  81.             if hflag<0 : penstroke z1e..{right}z3e; fi; 
  82.             if hflag>0 : 
  83.               penstroke (z3e{right}..z2e) shifted (-ww/2,0); fi; 
  84.          endchar;
  85.     endfor;
  86. enddef;
  87.  
  88. %%%%%%%%%%%%%%%%%%%
  89. % Bogen nach oben %
  90. %%%%%%%%%%%%%%%%%%%
  91.  
  92. drawslurs(0,0,0);
  93.  
  94. %%%%%%%%%%%%%%%%%%%%
  95. % Bogen nach unten %
  96. %%%%%%%%%%%%%%%%%%%%
  97.  
  98. drawslursneg(0,0,32);
  99.  
  100. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  101. % linke Halbboegen  nach oben %
  102. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  103.  
  104. drawslurs(0,-1,64);
  105.  
  106. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  107. % rechte Halbboegen  nach oben %
  108. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  109.  
  110. drawslurs(0,1,80);
  111.  
  112. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  113. % linke Halbboegen  nach unten %
  114. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  115.  
  116. drawslursneg(0,-1,96);
  117.  
  118. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  119. % rechte Halbboegen  nach unten %
  120. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  121.  
  122. drawslursneg(0,1,112);
  123.  
  124. end;
  125.